// aes 加密
// npm install crypto-js
import CryptoJS from 'crypto-js'

// 默认的 KEY 与 IV 如果没有给
// 秘钥: bGvnMc62sh5RV6zP
// 偏移量: 1eZ43DLcYtV2xb3Y
const key = CryptoJS.enc.Utf8.parse('bGvnMc62sh5RV6zP') // 16 位 16 进制数作为密钥
const iv = CryptoJS.enc.Utf8.parse('1eZ43DLcYtV2xb3Y') // 16 位 16 进制数作为密钥

// 解密方法
export function Decrypt(wrod: string): string {
  const encryptedHexStr = CryptoJS.enc.Hex.parse(wrod)
  const srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr)
  const decrypt = CryptoJS.AES.decrypt(srcs, key, { iv: iv, mode: CryptoJS.mode.CBC })
  const decryptStr = decrypt.toString(CryptoJS.enc.Utf8)
  return decryptStr.toString()
}

// 加密方法
export function Encrypt(wrod: string): string {
  const srcs = CryptoJS.enc.Utf8.parse(wrod)
  const encrypted = CryptoJS.AES.encrypt(srcs, key, { iv: iv, mode: CryptoJS.mode.CBC })
  return encrypted.ciphertext.toString().toUpperCase()
}
